package com.nervenets.web.controller.building;

import com.nervenets.web.controller.TokenParams;
import com.nervenets.web.hibernate.domain.HouseType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
public class BuildingEditParams extends TokenParams {
    @ApiModelProperty(value = "楼盘ID，不传为新建")
    private long buildingId;
    @ApiModelProperty(value = "楼盘名称", required = true)
    @NotNull(message = "楼盘名称不能为空")
    private String name;
    @ApiModelProperty(value = "楼盘封面", required = true)
    @NotNull(message = "楼盘封面不能为空")
    private String cover;
    @ApiModelProperty(value = "是否支持预约")
    private boolean dating;
    @ApiModelProperty(value = "诚意金金额，为0时不支持")
    private long sincer;
    @ApiModelProperty(value = "诚意金缴纳开始时间，为0时不限")
    private int sincerStartTime;//
    @ApiModelProperty(value = "诚意金缴纳结束时间，为0时不限")
    private int sincerEndTime;//
    @ApiModelProperty(value = "诚意金缴纳解冻时间，为0时不限")
    private int sincerThawTime;//
    @ApiModelProperty(value = "标签")
    private List<String> tags;
    @ApiModelProperty(value = "楼盘描述", required = true)
    @NotNull(message = "楼盘描述不能为空")
    private String description;
    @ApiModelProperty(value = "单价")
    private String price;
    @ApiModelProperty(value = "总价")
    private String totalPrice;
    @ApiModelProperty(value = "面积")
    private String area;
    @ApiModelProperty(value = "楼盘类型")
    private String type;
    @ApiModelProperty(value = "户型文字描述")
    private String houseTypeText;
    @ApiModelProperty(value = "户型")
    private List<HouseType> houseTypes;
    @ApiModelProperty(value = "结构")
    private String structure;
    @ApiModelProperty(value = "开盘时间")
    private int openTime;
    @ApiModelProperty(value = "楼盘地址")
    private String address;
    @ApiModelProperty(value = "楼盘经度")
    private double longitude = 0;
    @ApiModelProperty(value = "楼盘纬度")
    private double latitude = 0;
    @ApiModelProperty(value = "销售地址")
    private String saleAddress;
    @ApiModelProperty(value = "销售经度")
    private double saleLongitude = 0;
    @ApiModelProperty(value = "销售纬度")
    private double saleLatitude = 0;
    @ApiModelProperty(value = "产权年限")
    private String rightYear;
    @ApiModelProperty(value = "装修标准")
    private String decorationStandard;
    @ApiModelProperty(value = "物业费")
    private String propertyCost;
    @ApiModelProperty(value = "物业公司")
    private String propertyCompany;
    @ApiModelProperty(value = "是否在售")
    private boolean onSale;
    @ApiModelProperty(value = "楼盘开发商", required = true)
    @Positive(message = "楼盘开发商不能为空")
    private long managerId;
}
